package com.mycase.im.boot.entity.database;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @Author ZhuHJay
 * @Date 2021/7/31 23:51
 */
@Data
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class ImMessage implements Serializable {

    /** 自增长主键 **/
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    /** 接收人id/群消息体id **/
    private String toId;

    /** 群消息体 **/
    @TableField(exist = false)
    private ImGroupMessageBody imGroupMessageBody;

    /** 发送人id **/
    private String fromId;

    /** 消息发送人的个人信息 **/
    @TableField(exist = false)
    private ImUser fromImUser;

    /** 如果是群聊消息, 那么就存储该消息所属的群聊 **/
    private String groupId;

    /** 发送时间 **/
    private Date sendTime;

    /** 消息内容 **/
    private String content;

    /** 消息类型( 0: 单聊; 1: 群聊 ) **/
    private Integer type;

    /** 用来标识该条信息是否是系统通知(0: 用户发送的信息; 1: 系统推送信息) **/
    private Integer notify;

    /** 消息状态( 0: 未读; 1: 已读 ) **/
    private Integer readStatus;

}
